package lambda;

import java.io.File;
import java.io.FileFilter;

/*
* JDK8之后推出了一款lambda表达式
* lambda可以使得程序员面向函数式编程
* 直观感受，可以更精简的语法去创建匿名内部类
* 语法：接口只有一个抽象方法
* （参数列表）->{
*         方法体
* }
* */
public class lambdaDemo {
    public static void main(String[] args) {

        File dir=new File("./src/file");
        if (dir.isDirectory()) {
            //参数类型可以不写，只有一个参数时候，括号可以选择不写
//            FileFilter filter=file->{
//                System.out.println("已过滤"+file.getName());
//                return file.getName().startsWith("D");
//            };

            //当方法体只有一句话时候，方法体的”{}“ 可以省略，并且如果含有return要同时忽略
            FileFilter filter=file->file.getName().startsWith("D");
            File[] files = dir.listFiles(filter);
            for (int i = 0; i < files.length; i++) {
                File file1 = files[i];
                System.out.println("过滤完成,第"+(i+1)+"个"+"  名字为:"+file1.getName());
            }
        }

    }
}
